package com.example.glesstudy;

import android.content.Context;
import android.opengl.GLSurfaceView;
import android.util.AttributeSet;

// 不 GLSurfaceView  需要自己写 egl
public class MyGlsurfaceView  extends GLSurfaceView {
    public MyGlsurfaceView(Context context, AttributeSet attrs) {
        super(context, attrs);
        initGl();
    }

    private void initGl() {
        // TODO 1
        // 使用EGL 2.0 版本
        setEGLContextClientVersion(2);

        //TODO 2 设置渲染器
        // EGL 开启一个 GLThread 会调用 Renderer 的三个接口方法
        // 如果这三个接口方法 不用 GLThread 调用 会奔溃 所以内部的谁 必须用这个线程调用
        setRenderer(new MyGlRenderer(this));// this回调数据回来 做处理

        //TODO 3 渲染器模式
        // RENDERMODE_WHEN_DIRTY  按需渲染 有帧数据的时候才会渲染 （麻烦 后面需要手动调用渲染）
        // RENDERMODE_CONTINUOUSLY, 持续渲染  每隔16ms 读取更新一次  安卓系统貌似使用这个
        setRenderMode(RENDERMODE_WHEN_DIRTY);
    }
}
